本篇用記錄筆者在上課時,筆記a++與++a的差異。
單看結果雖然都是一樣,但是搭配其他運算及操作時,卻會產生不同的結果,這也是自學時期忽略的地方。
public static void main(String[] args) {
int num1 = 4, num2 = 4;
System.out.println(num1++); //4
System.out.println(++num1); //6
System.out.println(--num2); //3
System.out.println(num2--); //3
System.out.println(num1); //6
System.out.println(num2); //2
}
System.out.println(num1++); //4
因為此時的num1++
尚未做運算,所以print出來是4,之後再進行運算為5。
System.out.println(++num1); //6
此時的num1為5,++num1
代表是會先運算,所以num1為6,再print結果出來。
++count
public static void main(String[] args) {
int count = 1;
while (++count < 5)
System.out.println("count = " + count); //2,3,4
}
運作步驟:
1.++count
:count
先+1。
2.++count < 5
:2 < 5,為true。
3.print count
:2。
4.當count=3
時。
5.++count
:count
先+1。
6.++count < 5
:4 < 5,為true。
7.print count
:4。
8.當count=4
時。
9.++count
:count
先+1。
10.++count < 5
:5 < 5,為false,結束。
count02++
public static void main(String[] args) {
int count02 = 1;
while (count02++ < 5)
System.out.println("count = " + count02); //2,3,4,5
}
運作步驟:
1.count02++
:count02
先取出值。
2.count02++ < 5
:1 < 5,true。
3.count02++
:count02
+1 = 2。
4.print count02
:2。
5.當count02
=4時。
6.count02++ < 5
:4 < 5,true。
7.count02++
:count02
+1 =5。
8.print count02
:5。